package com.sky.task;

import org.apache.poi.xssf.usermodel.XSSFRelation;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.*;

/**
 * @author xmy
 * @version 1.0
 */
public class POITask {
    /**
     * 通过poi创建excel文件并写入文件内容
     */
    public static void write() throws Exception{
        //在内存中创建excel文件
        XSSFWorkbook excel=new XSSFWorkbook();
        //在excel中创建一个sheet页
        XSSFSheet sheet=excel.createSheet("info");
        //在sheet中创建对象编号从0开始
        XSSFRow row=sheet.createRow(1);
        //创建单元格并写入内容
        row.createCell(1).setCellValue("姓名");
        row.createCell(2).setCellValue("城市");
        //创建一个新行
        row=sheet.createRow(2);
        row.createCell(1).setCellValue("孙树鹏");
        row.createCell(2).setCellValue("北京");

        FileOutputStream fileOutputStream = new FileOutputStream(new File("D:\\info.xslx"));
        excel.write(fileOutputStream);
        //关闭资源
        fileOutputStream.close();
        excel.close();

    }

    public static void read() throws IOException {
        InputStream in=new FileInputStream(new File("D:\\info.xslx"));
        //读取磁盘execl、文件
        XSSFWorkbook excel=new XSSFWorkbook(in);
        //读取第一个sheet页
        XSSFSheet sheet=excel.getSheetAt(0);
        //获取sheet最后一行的行号;
        int lastRowNum=sheet.getLastRowNum();
        System.out.println(lastRowNum);
        for (int i=1;i<=lastRowNum;i++){
            //获得某一行
            XSSFRow row=sheet.getRow(i);
            //获得单元格2对象
            String value1=row.getCell(1).getStringCellValue();
            String value2=row.getCell(2).getStringCellValue();
            System.out.println(value1+" "+value2);
        }
        excel.close();
        in.close();

    }
    public static void main(String[] args) throws Exception {
       // write();
        read();
    }
}
